﻿// Solution.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include<vector>
#include "CModelFile.h"
#include "CModelStatic.h"
#include "CModelInfo.h"


//命令行参数  第一个参数为读取文件路径  第二个参数为待写入文件路径
//举例：C:\Users\xiong\Desktop\关键字出现频次统计开发\关键字出现频次统计\模型\B\ex_cr_truck_frontal.pc E:\1.txt
int main(int argc, char** argv)
{
    if (argc < 3)
    {
        std::cerr << "请输入2个命令参数：第一个参数为读取文件路径；第二个参数为待写入文件路径！" << std::endl;
        return -1;
    }

    char* cFilePath = argv[1];
    char* cPath = argv[2];

    //读取文件
    CModelFile modelFile;
    modelFile.readFile(cFilePath);
    std::vector<std::string> vctLines = modelFile.getLines();

    std::map<std::string, int> mapFileLines=modelFile.getFileLines();
    int nFileNumber = modelFile.getSubFileNums();

    //统计文件
    CModelStatic modelStatic;
    modelStatic.analyzeFile(vctLines);
    std::map<std::string, std::vector<std::string>>mapKeyLines =  modelStatic.getStatisticsMessage();

    //输出文件
    CModelInfo modelInfo;
    modelInfo.writeFile(cPath, mapKeyLines);

    return true;
}